Apparatus and method for network capacity evaluation and planning

ABSTRACT

Network capacity evaluation and planning is performed based upon the traffic across the links of the network. Once a link&#39;s traffic volume has been measured, it is compared with the link&#39;s traffic capability, and the resulting parameters compared with the traffic and capability of other links of the network to create measures of network capacity and balance. Then, simulated changes to the network configuration may be made by substituting simulated traffic volume amounts and capabilities for selected link traffic measurements and capabilities, and the resulting measures of network capacity and balance may then be compared to determine whether the simulated changes represent a preferred network configuration.

RELATED CASES

[0001] This case is related to copending and commonly owned U.S. Ser.No. 08/382,294, entitled “Apparatus and Method for Evaluating NetworkTraffic Performance,” filed on Feb. 1, 1995, from which priority isclaimed and which is hereby incorporated by reference in its entirety.

DISCUSSION OF THE RELATED ART

[0002] 1. Field of the Invention

[0003] This invention relates to computer network communicationssystems, and in particular to techniques for evaluating network trafficcapacity and evaluating alternative network configurations.

[0004] 2. Background of the Invention

[0005] Computer networks are widely used to provide increased computingpower, sharing of resources and communication between users. Networksmay include a number of computer devices within a room, building or sitethat are connected by a high-speed local data link such as token ring,Ethernet, or the like. Local area networks (LANs) in different locationsmay be interconnected by for example packet switches, microwave linksand satellite links to form a wide area network (WAN). A network mayinclude several hundred or more connected devices, distributed acrossseveral geographical locations and belonging to several organizations.

[0006] In the operation and maintenance of computer networks a number ofissues arise, including traffic overload on parts of the network,optimum placement and interconnection of network resources, security,isolation of network faults, and the like. These issues becomeincreasingly complex and difficult to understand and manage as thenetwork becomes larger and more complex. For example, if a networkdevice is not sending messages, it may be difficult to determine whetherthe fault is in the device itself, a data communication link, or anintermediate network device between the sending and receiving devices.

[0007] Network management systems are intended to resolve such issues.Older management systems typically operated by collecting large volumesof information which then required evaluation by a networkadministrator, and thus placed a tremendous burden on and required ahighly-skilled network administrator.

[0008] Newer network management systems systematize the knowledge of thenetworking expert such that common problems of a single domain (i.e., aportion of the network under common management) can be detected,isolated and repaired, either automatically or with the involvement ofless-skilled personnel. Such a system typically includes a graphicalrepresentation of that portion of the network being monitored by thesystem. Alarms are generated to inform an external entity that an eventhas occurred or requires attention. Since a large network may have manysuch events occurring simultaneously, some network management systemsprovide alarm filtering (i.e., only certain events generate an alarm).

[0009] Commercially available network management systems andapplications for alarm filtering include: (1) SPECTRUM®, CabletronSystems, Inc., 35 Industrial Way, Rochester, N.H. 03867; (2) HP OpenView, Hewlett Packard Corp., 3000 Hanover Street, Palo Alto, Calif.94304; (3) LattisNet, Bay Networks, 4401 Great American Pkwy., SantaClara, Calif. 95054; (4) IBM Netview/6000, IBM Corp., Old Orchard Road,Armonk, N.Y. 10504; (5) SunNet Manager, SunConnect, 2550 Garcia Ave,Mountain View, Calif. 94043; and (6) NerveCenter, NetLabs Inc., 4920 ElCamino Real, Los Altos Calif. 94022.

[0010] To evaluate the performance of a communications network, both thenetwork configuration and the raw message traffic data may be analyzed.Network configuration, also called network topology, refers to thestructure of a network's physical and virtual connections, and mayinclude the structure of the network's nodes as well. Generally, anetwork is made up of one or more physical or logical subnets(segments), where each subnet includes a plurality of nodes (e.g.,servers and host computers). Different subnets in a network may beconnected by a network trunk. The performance analysis may includeconsideration of the network load on various subnets based on number ofpackets, packet collision rate, packet deferment rate, packet length,and network communication protocols. This information is normallyobtained by placing monitors at selected points in the network. Thesemonitors, also called daemons, network monitors, or network analyzers,monitor the traffic that flows through the selected points.

[0011] Some current monitors simply report various parameters of networkpackets in real time. For example, the table of FIG. 1 shows a fewseconds of network activity where the parameters of interest are packetlength 11, protocol 12, source node 13, destination node 14, source port15, and destination port 16. However, an analysis of such raw data israther cumbersome, particularly if the raw data has been collected fordays or months. Thus, tools have been built that can transform the rawdata into graphical representations such as bar graphs, X-Y plots,histograms, and scatter plots, shown generally as 20 in FIG. 2.

[0012] Other monitors display a topological view of the network showingthe amount of traffic flowing among the various nodes. Over time, themonitor discovers all of the traffic patterns on the subnet, and in someinstances also indicates the amount of traffic between the nodes by, forexample, line color or line thickness.

[0013] However, the prior methods of monitoring network performance asshown for example in FIGS. 1-2, provide only the ability to monitor, butdo not provide the ability to evaluate alternative network topologies orto perform comparison studies. In addition, the previous methods do notprovide an indication of the overall balance of traffic on a network.

[0014] It would be desirable for a network management system to have theability to evaluate the overall capacity of a particular networkconfiguration and analyze alternate configurations.

SUMMARY OF THE INVENTION

[0015] In accordance with one aspect of the invention, network capacityevaluation and planning (CEP) is performed based upon the traffic acrossthe links of the network. Once a link's traffic volume has beenmeasured, it is compared with the link's traffic capability, and theresulting parameters may be compared with the traffic and capability ofother links of the network to create measures of network capacity andbalance. Then, simulated changes to the network configuration may bemade by substituting simulated traffic volume amounts and capabilitiesfor selected link traffic measurements and capabilities, and theresulting determinations of network capacity and balance may then becompared to determine whether the simulated changes represent apreferred network configuration.

[0016] An embodiment of the invention is directed to a method forevaluating network traffic on a communications network, the networkhaving a present configuration of nodes connected by a plurality oflinks, the method comprising the steps of determining a trafficcapability for an amount of time for each of the plurality of links ofthe network, measuring a traffic volume for the amount of time acrosseach of the plurality of links, and evaluating a communicationscapability of the communications network based upon the trafficcapability and the traffic volume.

[0017] The communications capability may also be evaluated bydetermining a contribution to an overall bandwidth of the communicationsnetwork by a first link of the plurality of links based upon the trafficcapability of the first link with respect to a traffic capability of allof the plurality of links, and may also include determining acontribution to an overall traffic of the communications network by afirst link of the plurality of links based upon the traffic volumeacross the first link with respect to a traffic volume across all of theplurality of links. The link balance for the first link may then beevaluated based upon a comparison between the contribution to overallbandwidth and the contribution to overall traffic.

[0018] The communications capability may also be evaluated by evaluatinga link balance for a first link of the plurality of links based upon acomparison between a contribution to overall bandwidth of thecommunications network by the first link and a contribution to overalltraffic of the communications network by the first link. Additionally,an upper bound and a lower bound of link utilization may be defined fora first link of the plurality of links, and in such a case thecommunications capability may be evaluated by evaluating a linkutilization of the first link of the plurality of links with respect tothe upper bound and the lower bound, based upon the traffic volume ofthe first link.

[0019] Additionally, the communications capability of an alternativeconfiguration of the communications network may be evaluated having amodified traffic capability and a modified traffic volume, and theconfiguration of the communications network may be modified to yield thealternative configuration.

[0020] These and other features of the present invention will beunderstood from the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021]FIG. 1 is a table of raw traffic data from a prior art monitor;

[0022]FIG. 2 is a prior art graphical display with variousrepresentations of network traffic;

[0023]FIG. 3 is a schematic illustration of the relationship between anetwork and a network management system;

[0024]FIG. 4 is a view of a user interface of a network managementsystem such as that shown in FIG. 3;

[0025]FIG. 5 is a diagram showing exemplary detail of the device icon ofFIG. 4;

[0026]FIG. 6 is a process flow diagram showing steps of a process inaccordance with an embodiment of the invention;

[0027]FIG. 7 is a structural block diagram of a capacity evaluation andplanning module of an embodiment of the invention, which may be includedin the network interface and control module of FIG. 3;

[0028]FIG. 8 is a diagram of an exemplary hybrid packet and cell-basednetwork;

[0029]FIG. 9 is specific process flow diagram in accordance with anembodiment of the invention such as that shown in FIG. 7;

[0030]FIG. 10 shows exemplary structure of a network capacity databaseof FIG. 7;

[0031]FIGS. 11A, 11B, and 11C illustrate three evaluations of linkbalance for three different instances of link traffic;

[0032]FIGS. 12A, 12B, and 12C illustrate three different evaluations oflink utilization for a particular link;

[0033]FIG. 13A illustrates an evaluation of link balance (ELB) and anevaluation of link utilization (ELU) for a particular link;

[0034]FIGS. 13B and 13C each show an example of the average linkbandwidth and contribution to overall traffic for three different links,as compared to an upper bound and a lower bound that have been definedfor each of the three links;

[0035]FIG. 14 shows a modification of the network capacity database ofFIG. 10 to facilitate evaluation of link traffic volume based uponsource and destination information; and

[0036]FIG. 15 shows a general purpose computer in accordance with atleast one embodiment of the invention.

DETAILED DESCRIPTION

[0037]FIG. 3 is a block diagram illustrating generally the arrangementof a network management system 31 which monitors a live network 30 via acommunication interface 32. In this example the network managementsystem (NMS) 31 is a client-server based NMS known as SPECTRUM®, whichincludes a database of models relating to corresponding network entitiesand relationships among those entities. The SPECTRUM server includes anetwork interface and control module 34 and a virtual network machine36, and the SPECTRUM client includes a user interface 38.

[0038] The SPECTRUM NMS continually monitors the network 30 andmaintains a database of information about managed entities within thenetwork 30. An understanding of the present invention is furthered by anunderstanding of a model-based network management system such asSPECTRUM, which is described in U.S. Pat. No. 5,261,044, issued Nov. 9,1993 to R. Dev et al., and hereby incorporated by reference in itsentirety. The SPECTRUM system is commercially available and alsodescribed in various user manuals and literature available fromCabletron Systems, Inc., Rochester, N.H., USA.

[0039] In summary, SPECTRUM is a system for maintaining and processinginformation pertaining to the condition of the computer network andproviding the same to a user, the network including a plurality ofnetwork resources such as computer devices and software applicationsbeing executed on such devices. The system includes a virtual networkmachine 36, comprising a programmed digital computer, wherein a programis implemented using an object-oriented programming language such asC++, Eiffel, SmallTalk, and Ada. The virtual network machine 36 includesinterrelated intelligent models of network entities and relationsbetween network entities, including a capability for acquiring networkdata pertaining to the condition of a network entity from thecorresponding network entity, and for those entities not capable ofbeing contacted, inferring their status from the status of otherentities. The virtual network machine 36 maintains objects which includenetwork data relating to the corresponding network entity and one ormore inference handlers for processing the network data, the inferencehandlers being responsive to changes occurring in the same and/or adifferent object. The network data can then be transferred to a userinterface 38 coupled to the virtual network machine 36, for supplyingthe network data to a user.

[0040] Thus, the models may be implemented as software “objects”containing both “data” (attributes) relating to the correspondingnetwork entity and one or more “inference handlers” (functions) forprocessing the data. See Grady Booch, “Object-Oriented Analysis AndDesign, With Applications,” 2nd Edition, Benjamin/Cummings PublishingCo., Redwood City, Calif., Chapter 2 (1994). The inference handlers maybe initiated by predetermined virtual network events, such as a changein specified network data in the same model, a change in specifiednetwork data in a different model, and predefined events or changes inmodels or model relations. Information pertaining to the condition ofthe network resource can be obtained from the network entity by pollingthe resource, can be automatically received from the network resourcewithout polling, or can be inferred from data contained in other models.An alarm condition may be generated when the network data meets apredetermined criteria. Events, alarms and statistical information fromthe virtual network may be stored in a database to be selectivelydisplayed for the user.

[0041] The data in the SPECTRUM database may be used for generatingtopological displays of the network, showing hierarchial relationshipsbetween network devices, isolating a network fault, reviewingstatistical information, as well as other functions.

[0042] The SPECTRUM network management system allows for collectivemanagement of autonomous local area networks (LANs), with equipment fromdifferent vendors. It complies with the current Simple NetworkManagement Protocol (SNMP) standards, and can also accommodate otherstandard and proprietary protocols. The virtual network machine 36preprocesses the raw information coming from the network entitiesthrough the network interface and control module 34 in order toconstruct a model of the network's current status and performancecharacteristics. Network entities that cannot be directly communicatedwith (e.g., cables and buildings) can infer their status from the statusof the entities connected to or contained within them. The virtualnetwork machine 36 provides a consistent interface for managementapplications to access any of the information in the model and therebyprovides these applications with a unified view of the network 30.

[0043] The SPECTROGRAPH® user interface 38 provides a highly graphicalmulti-perspective view into the network model. The user interfaceenables the user to navigate through a landscape in which cables,networks, local area networks and even rooms show up as icons, and whichicons indicate the health and performance characteristics of thoseelements. Many of these icons can be further queried for additionalinformation. The main function of the user interface 38 is to visuallypresent to the user the model within the virtual network machine 36. Itallows the user to navigate freely within the network model, onlylimited by the access rights assigned by the network administrator. Theinformation can be accessed at varying degrees of detail, from a macrooverview, down to the level of the devices and the cables which connectthem. In addition to its navigation functions, the SPECTROGRAPH userinterface provides an alarm management facility, an event log window, areporting facility, a find facility, and other features.

[0044] An example of the alarm log view provided by the SPECTROGRAPHuser interface 38 is illustrated in FIG. 4. The alarm log view 43 mayinclude an area 40 for the listing of current alarms, and an area 42 fordisplaying information pertaining to a selected alarm. A user, such as asystem administrator or a technician, may select a particular alarm inthe listing of current alarms to obtain more information. Amulti-function icon 44 representing the network device having the faultis displayed in area 42, and one or more text fields 46 and 48 whichprovide information regarding the cause of the alarm and the status ofthe device. By selecting specified areas of the icon 44, the user canobtain further information regarding the device for which an alarm isregistered.

[0045]FIG. 5 is a diagram showing exemplary detail of an icon 50,similar to the icon 44 of FIG. 4. The icon 50 may include an area 51 fora device name, an area 52 for model type information, bar graphs 53 and54 for indicating performance parameters, an area 55 for displaying asymbolic representation 56 of the device, a background area 57 fordisplaying the status in color of the device, and a FIG. 58 forselecting more detail about the device.

[0046] Alternatively, instead of or in combination with the userinterface 38, information from the virtual network machine 36 may beprovided directly to another computer program, or may be provided to auser via electronic mail or a telephone message that is automaticallytransmitted.

[0047] An important challenge for network management and control iscapacity evaluation and planning (CEP), which generally includesmonitoring current network characteristics, understanding environmentalconstraints and considerations, and forecasting future needs andtechnology. CEP further includes evaluating technical opportunity,creating appropriate, consistent, and coordinated plans on a short-,medium-, and long-term basis, and modifying plans based on results ofactual network implementations to provide cost-effective and timelycommunication services to users.

[0048] Several CEP products are available which achieve different levelsof effectiveness, including OPNET, COMNET III, BONeS DESIGNER, andothers. Although these CEP products have been successful in somecontrolled situations, their main disadvantage arises from their use ofa CEP analysis based on exact mathematical models of the network beingmonitored. The amount of processing time and storage requirements forsuch implementations are often exorbitant and prohibitive for alarge-scale network. Additionally, such an approach requires performancemodels of vendor-specific network devices such as hubs, routers andswitches, but such performance models are not typically available due tothe proprietary nature of these models.

[0049] To overcome such limitations, an embodiment of the inventionperforms CEP on a network based upon the traffic volume across the linksof the network. The storage and processing requirements are reduced andlimited or no information is required regarding vendor-specific devices.Once traffic volume on a link has been measured, it is compared with thelink's traffic capability, and the resulting parameters compared withthe traffic and capability of other links of the network to createmeasures of network capacity and balance. Then, simulated changes to thenetwork configuration are made by substituting simulated traffic volumeamounts and capabilities for selected link traffic measurements andcapabilities, and the resulting determinations of network capacity andbalance are compared to determine whether the simulated changesrepresent a preferred network configuration. Alternatively, allmeasurements may be simulated in order to provide assistance in defininga network, or all measurements may be actual, so that over time anetwork administrator may determine whether a new configuration issuperior to a previous configuration.

[0050] Thus, according to this embodiment one evaluates the presentcapacity of the network, and then determines the potential effect onnetwork capacity of a change in network configuration. Examples of suchchanges include relocating/adding/deleting network devices,relocating/adding/deleting network users, relocating/adding/deletingsubnets and/or switches, modifying policies that govern communications,and modifying routing or switching algorithms. The alternateconfigurations may be automatically generated and evaluated and ifsuperior, these alternate configurations may be implemented.

[0051]FIG. 6 shows a process flow diagram in accordance with anembodiment of the invention. In step 61, network volume across at leastsome of the links of a network is measured. This volume V may berepresented by a number of bytes of data, number of data packets, numberof cells, or any similar unit which is representative of the volume ofdata. Then, the network capacity, utilization, and balance is evaluatedbased upon the current network configuration and the network volume data(step 62). The network configuration may be a factor in this evaluationwhen it defines the traffic capabilities of certain links.

[0052] In step 63, a scenario with an alternate network configuration isdefined, either by a network administrator, or by extracting data from adatabase of alternative configurations, or by automatically generatingdata that defines the alternate configuration. Then, in step 64, thenetwork capacity, utilization, and balance is evaluated for thealternate configuration. If additional scenarios are desired asdetermined in step 65, then steps 63 and 64 may be repeated for theadditional scenarios. Once alternate configurations have been evaluated,these evaluations are compared with one another to select a desiredconfiguration (step 66), and the network configuration may then alteredto the desired configuration (step 67).

[0053]FIG. 7 is a block diagram of a particular embodiment of theinvention, which includes a capacity evaluation and planning (CEP)module 70 that receives live network data 71 as well as user inputs 72(such as scenario definition and configuration selection). The CEPmodule 70 may also be coupled to a display 73 for displaying results tothe user, and may also provide control outputs 78 to cause the networkconfiguration to be altered if desired.

[0054] At least one embodiment of the invention includes a networkmonitor as the primary means to collect the live network data 71.However, alternate configurations may receive only simulation data,previously stored data, or a combination of actual data, simulationdata, and stored data. Examples of suitable network monitors include thefollowing: 1) Sniffer, Network General Corporation, 4200 Bohannon Drive,Menlo Park, Calif. 94025; 2) NetMetrix, Hewlett-Packard Corporation, 1Tara Boulevard, Nashua, N.H. 03062; 3) LANalyzer, Novell, Inc., 122 East1700 South, Provo, Utah 84606-6194; and 4) SPECTRUM Network ManagementSystem, Cabletron Systems, Inc., Rochester, N.H. The network monitor mayinclude basic low-level programs such as “Etherfind” on Sunworkstations, or “Netsnoop” on Silicon Graphics IRIX workstations.

[0055] One embodiment of the CEP module 70, as shown in FIG. 7, includesa network capacity database 74, predetermined data 75, a displayinterface 76, and a capacity control/evaluation module 77. The networkcapacity database 74 receives the live network data 71 as well as thepredetermined data 75, and is controlled by the capacitycontrol/evaluation module 77, which in turn receives the user inputs 72and provides the control outputs 78. The display interface 76 is coupledbetween the network capacity database 74, the capacitycontrol/evaluation module 77, and the display 73.

[0056] An overview of the operation of the system shown in FIG. 7 is asfollows. The network capacity database 74 is populated with live networkdata 71, such as data indicative of traffic being transmitted over linksof the network. Additionally, the network capacity database 74 may bepopulated with predetermined data 75 indicative of capacity of thelinks. The capacity control/evaluation module 77 then extracts data fromthe network capacity database 74, performs operations such as thoseshown in FIG. 5 on the data to create additional data, and stores theadditional data in the network capacity database 74. This additionaldata, which includes for example results of comparisons among alternatenetwork configurations, may then be displayed to the user via display73. Additionally, the user can define scenarios and select the desiredconfiguration via user inputs 72, and the capacity control/evaluationmodule 77 may control the network directly or via interim controlmechanisms to invoke the desired network configuration.

[0057] One embodiment of the invention will be explained with referenceto a theoretical hybrid network 80 including both packet and cell-basedsegments, for example that shown in FIG. 8. The network 80 includeseight nodes N1-N8. Nodes N1, N2, N3, and N4, are indicated as squares inFIG. 8 to represent cell-based switches, while nodes N5, N6, N7, and N8are indicated as circles to represent packet-based subnets. Subnet N5 iscoupled to switch N1 via packet link 1-5, subnet N6 is coupled to switchN2 via packet link 2-6, subnet N7 is coupled to switch N3 via packetlink 3-7, and subnet N8 is coupled to switch N4 via packet link 4-8.Additionally, FIG. 8 depicts a mesh switched network among the switchesN1-N4, wherein: switch N1 is coupled to switches N2, N3 and N4 by celllinks 1-2, 1-3, and 1-4 respectively; switch N2 is coupled to switchesN3 and N4 by cell links 2-3 and 2-4 respectively; and switches N3 and N4are coupled via cell links 3-4. For example, the cell links of FIG. 8may be asynchronous transfer mode (ATM) links over which 58-bytesegments of packets are transfered.

[0058] Embodiments of the invention are described below with respect toa hybrid network such as that shown in FIG. 8 to show that the featuresare applicable to cell-based networks as well as packet-based networks.

[0059]FIG. 9 is a process flow diagram showing steps for performingcapacity evaluation and planning (CEP) based upon link traffic volumeand link traffic capability. Additionally, FIG. 10 shows exemplarystructure 100 of the network capacity database 74 of FIG. 7, includinglink identifiers for each of the links of FIG. 8. This process anddatabased may be used to propose alternative configurations for thenetwork of FIG. 8, as described hereinafter.

[0060] In step 91 (FIG. 9), the traffic capability BWT(X) of link X isdetermined for a particular amount of time T, where X is an identifierof one of the links under analysis. The traffic capability BWT may bedetermined for all links of a network, or for selected links for whichanalysis is desired. The traffic capability BWT may be calculated bymultiplying the theoretical bandwidth (i.e., throughput) of a link bythe time T; it may be further adjusted based upon overhead associatedwith the link X, if it is desired to remove this overhead from itsimpact on the bandwidth data.

[0061] An upper bound UB and lower bound LB are defined for each link bya system administrator; these are the defined limits within which thesystem should be operating for optimal performance. The trafficcapability BWT, upper bound UB, and lower bound LB are referred to aspredetermined data 102 in FIG. 10, and may be stored in thepredetermined data 75 in FIG. 7.

[0062] In step 92, the actual traffic volume V(X) for link X is measuredfor the amount of time T, and stored as measured data 101. Note that thetime T for steps 91 and 92 may be the same, or alternativelycapabilities BWT and volumes V may be normalized or otherwiseextrapolated to provide comparable data. From the volume V(X) andcapability BWT(X), the average bandwidth usage ABU(X) is determined instep 93, for time T, as indicated in equation (1):

ABU(X)=V(X)/BWT(X).  (1)

[0063] Thus, average bandwidth usage ABU(X) is a measure of thepercentage of the total link X capability that is currently being usedover time T. For example, a usage ABU(X) of 5% would indicate that linkX may be underutilized because during the time T only 5% of itscapability was used; this may represent excess capability and/or asuboptimal usage of resources.

[0064] In step 94, a contribution to overall bandwidth COB(X) isdetermined for link X with respect to all of the bandwidth in thenetwork (i.e., all of the links in a designated network portion), asindicated in equation (2): $\begin{matrix}{{{{{COB}(X)} = \frac{{BWT}(X)}{\sum{{BWT}(I)}}};}{{{{where}\quad I} = 1},{\ldots \quad N\quad {for}\quad N\quad {{nodes}.}}}} & (2)\end{matrix}$

[0065] Similarly, a contribution to overall traffic COT(X) is determinedfor link X with respect to all of the traffic in the network (step 95):$\begin{matrix}{{{{{COT}(X)} = \frac{V(X)}{\sum{V(I)}}};}{{{{where}\quad I} = 1},{\ldots \quad N\quad {for}\quad N\quad {{nodes}.}}}} & (3)\end{matrix}$

[0066] The contribution to overall bandwidth COB defines a percentage ofthe bandwidth for a particular link X with respect to all bandwidth,while the contribution to overall traffic COT is a measure of thepercentage of the actual traffic transmitted by the link X with respectto all traffic during the time T under consideration. Generally, ifthese percentages are similar for different links, then it means thatthe network is well-balanced with respect to both actual usage (traffic)and potential usage (bandwidth). Since a balanced network is generallydesirable, these percentages may be used to determine the overallbalance of a network.

[0067] These two contributions may also be compared with each other fora particular link X (step 96) by taking a difference, to define anevaluation of link balance ELB(X) for the particular link X according toequation (4):

ELB(X)=COT(X)−COB(X)  (4)

[0068] When the contribution to overall bandwidth COB is equal to thecontribution to overall traffic COT for a particular link, this isindicative that there is an ideal balance—the link is providing its“fair share” of the overall workload of the network. If the evaluationof link balance ELB is negative, then the link is doing less than itsfair share, and if the evaluation of link balance ELB is positive, thenthe link is doing more than its fair share.

[0069] FIGS. 11A-C illustrate three different evaluations of linkbalance ELB for three links on a network having an overall bandwidth of8000, i.e., capability to transfer 8000 traffic units over time T. InFIG. 11A, link L1, having a BWT(L1)=4000 provides 50% (4000/8000) of theoverall bandwidth of a network, while links L2 and L3 each provide 25%of the overall bandwidth (where BWT(L2) and BWT(L3) are each 2000).Thus, the contribution to overall bandwidth COB for link L1 is 50%,while the contribution to overall bandwidth COB for links L2 and L3 areeach 25%. Additionally, the contribution to overall traffic COT of linkL1 is also 50% (a volume V(L1) of 2000 traffic units over time T out ofthe total 4000 traffic units), while the contribution to overall trafficCOB for links L2 and L3 are each 25% (where volume V(L2) and V(L3) areeach 1000 traffic units over time T). Accordingly, for the example shownin FIG. 11A, the evaluation of link balance ELB for each link is zero(i.e., there is no difference between the contribution to overallbandwidth COB and the contribution to overall traffic COT). This may beconsidered an optimal balance.

[0070] In the example illustrated in FIG. 11B, the traffic volume forlink L1 V(L1) has increased to 3000 units, while all other parameters(of FIG. 11A) remain the same. Thus, the contribution to overall trafficof link L1 has increased to 60% (3000/5000), while the contribution tooverall traffic COT of links L2 and L3 have each decreased to 20%(1000/5000). Since the bandwidth capabilities have not changed, theevaluation of link balance for link L1 ELB(L1) is 10% (60%-50%), whilethe evaluation of link balance for each of links L2 and L3 is now −5%(20%-25%). Thus, in the example of FIG. 11B, link L1 is carrying morethan its fair share, while links L2 and L3 are each carrying slightlyless than their fair shares.

[0071] In the example illustrated in FIG. 11C, the traffic volume forlink L1 V(L1) has decreased to 1000 units while all other parametersremain the same. Thus, the contribution to overall traffic of link L1has decreased to 33% (1000/3000), while the contribution to overalltraffic COT of links L2 and L3 have each increased to 33% (1000/3000).Since the bandwidth capabilities have not changed, the evaluation oflink balance for link L1 ELB(L1) is now −17% (33%-50%), while theevaluation of link balance for each of links L2 and L3 is now 8%(33%-25%). Thus, in the example of FIG. 11B, link L1 is carrying lessthan its fair share while links L2 and L3 are each carrying more thantheir fair shares.

[0072] In step 97 of FIG. 9, a metric for evaluation of link utilizationELU is determined for link X, with respect to the upper bound UB andlower bound LB defined by the system administrator or derived frompredetermined data, as shown in equation (5):

ELU(X)=([ABU(X)−o UB(X)]−[LB(X)−o ABU(X)]  (5)

[0073] In equation (5), the term “−o” represents a “zeroed subtraction,”in which the difference is determined between two values, and the resultis the difference if the difference is positive but the result is alwaysequal to zero if the difference is negative. For example, 7−o 5=2, while7−o 20=0.

[0074] The evaluation of link utilization ELU is representative of howmuch, if at all, the average bandwidth usage ABU is either above orbelow the range defined by the upper bound UB and the lower bound LB fora link. These boundary values allow the system administrator to tailorthe evaluation of link utilization to the particulars of the networkunder consideration. Ideally, the link utilizations will be within thebounds set by the system administrator, so the ELU will be equal tozero.

[0075] FIGS. 12A-C pictorially show examples of different evaluations oflink utilization ELU for a particular link. In each of FIGS. 12A-C, theupper bound UB is 75% while the lower bound LB is 50%. In FIG. 12A, theaverage bandwidth usage ABU is 62%, resulting in an evaluation of linkutilization ELU of 0, i.e. [62−o 75]−[50−o 62]=0−0=0. In FIG. 12B usageABU is 25%, resulting in an evaluation of link utilization ELU of −25%,,i.e. [25−o 75]−[50−o 25]=0−25 =−25. In FIG. 12C, the average bandwidthusage ABU is 87%, resulting in a evaluation of link utilization ELU of12%, i.e. [87−o 75]−[50−o 87]=12−0=12.

[0076] In step 98 (FIG. 9), the link balance and link utilizationevaluations may be compared with one another to determine metrics fornetwork capacity and network balance. One example of such a metric isreferred to as evaluation of link capacity ELC, determined from theevaluation of link balance ELB and the evaluation of link utilizationELU, as indicated in equation (6):

ELC(X)=[(ELB(X))²+(ELU(X))²]^(½)  (6)

[0077] In this example, the evaluation of link capacity ELC is thelength of a vector that represents a sum of a vector representing anevaluation of link balance ELB, and a vector orthogonal to the ELBvector representing an evaluation of link utilization ELU. This isgraphically shown in the graph of FIG. 13A, where evaluation of linkbalance ELB is plotted along the x-axis while evaluation of linkutilization ELU is plotted along the y-axis. In this manner, a singlequantity ELC can be used to represent network capacity, utilization andbalance, wherein a lower value of ELC is generally desirable. Forexample, a situation in which both ELB and ELU are equal to zero, andthus ELC is equal to zero, is ideal.

[0078] In FIG. 13A, vector A represents a situation in which both theevaluation of link balance ELB and the evaluation of link utilizationELU are zero, which is representative of a network which is ideallybalanced; the resulting ELC (A) (from equation 6) is also zero. Vector Brepresents an ELB of 0 and an ELU of 10 (per equation 6); this yields anELC (B) of 10. Vector C represents an ELU of 20, and an ELC of 20; thisyields an ELC (C) of 28. Vector D represents an ELB of 9 and an ELU of0; this yields an ELC (D) of 9. Vector E represents an ELB of 10 and anELB of −10; this yields an ELC (E) of 14.

[0079]FIG. 13A is a representative display which enables a systemadministrator to make decisions about network configuration. Thespecific quadrant within which the evaluation of link capacity ELC isplotted, provides useful information. In particular, a vector that isplotted in quadrant I indicates that the link is doing more than itsfair share and is also exceeding its upper bound UB (of linkutilization). Such a situation may be resolved (adjusted) by addingresources, e.g., another link in parallel with the link underconsideration; this would serve to reduce both ELB and ELU, thusreducing ELC. In contrast, an ELC vector in quadrant III indicates thatthe link is doing less then its fair share and is also below its lowerbound LB, which means that a link with less capacity may be substituted.

[0080] An ELC vector in quadrant II indicates that the link isperforming less than its fair share, but is above its upper bound UB (inlink utilization). An ELC vector in quadrant IV indicates that the linkis performing more than its fair share, but is below its lower bound LB.It should be understood that in different applications it may bedesirable to place upper and lower bounds on other parameters, such asELB, or not to use such boundaries.

[0081] Another example of the applicability of a comparison of both linkbalance and link utilization is shown in FIGS. 13B-C. These figures showaverage link bandwidth ABU and contribution to overall traffic COT forthree different links L1-L3, as compared to an upper bound UB and alower bound LB for each of the three links L1-L3. In each of FIGS.13B-C, it is assumed that the respective ABU and COT for a given linkare equal. FIG. 13B illustrates a situation in which each link is inperfect balance, but each is also over-utilized. In contrast, FIG. 13Cillustrates a situation in which each of links L1-L3 is within the rangebetween the upper bound UB and lower bound LB (properly utilized), butthe links are out of balance (as indicated by the COT and ABU for linkL1 being significantly higher than the COT and ABU for links L2 and L3).

[0082] In addition to the metrics defined above for single links, it maybe desirable to have a single metric that represents an evaluation ofnetwork capacity (ENC) for an entire network, so that a systemadministrator may evaluate the current network configuration withrespect to an alternate network configuration. One example of ENC is toselect the greatest ELC for all ELCs of a network. This evaluation isuseful because the performance of a network is often limited by the linkwhich is performing the worst—such a link representing a bottleneck indata communications. Thus, one version of an evaluation of networkcapacity ENC is shown in equation (7):

ENC=MAX(ELC(X) for all X)  (7)

[0083] For equation (7), a lower ENC represents a better-performingnetwork because in general lower ELCs are preferred (as discussedabove). In an alternative embodiment, the metric for evaluation ofnetwork capacity ENC is determined based upon a standard deviation overall ELCs of a link, as indicated in equation (8):

ENC=[((ΣELC(I))² for I=1−N)−(AVE(ELC(I) for I=1, . . . N))]^(½)  (8)

[0084] where AVE is the average.

[0085] Equation (8) is a measure of how well the network is performingoverall, and it is generally desirable that the ENC be zero or close tozero. As indicated above, it may be desirable to evaluate potentialalternate configurations of a network to provide an ENC which issuperior to the ENC of the current network configuration. Alternateconfigurations may be achieved in many ways, such as moving networkservers among subnets, adding/deleting nodes, or adding/deletingswitches.

[0086] As illustrated in FIG. 9, the inputs to the ENC evaluation arelink traffic capability (BWT) and actual link traffic volume (V).Alternate configurations of a network may be simulated by simplymodifying one or more of these variables, and then re-calculating themetric for ENC. This is a simple simulation which may be achieved withless processing and memory resources than required by the prior artsimulators. For example, if it were desirable to evaluate an alternateto the network configuration of FIG. 8 in order to double the linkcapacity of cell link 3-4 (for example by adding a port each of swichesN2 and N3, and coupling these ports together), it is only necessary tochange the value in the table of FIG. 10 that corresponds to the row oflink 3-4 and the column labeled “BW” to be double the previous value.Then the evaluation factors 103 may be re-calculated based upon this newdata, and these factors may be evaluated to determine the desirabilityof such a modification.

[0087] For some network changes this activity is straightforward. Forexample, adding or deleting bandwidth of a link is relatively simple,and may be achieved by upgrading the devices that connect via the link.Such a change may be simulated by increasing the corresponding valuesfor BWT. However, other configuration changes may be more complex, suchas those that affect the routing by which traffic is communicated. Forexample, adding a server to the network may affect bandwidth, but it mayalso affect how data is routed, which may significantly affect networkbalance.

[0088] To address this issue, the network capacity database 74 (FIG. 7)may include additional information, such as that shown in table 140 ofFIG. 14. The entries in the table of FIG. 14 correspond to the volume ofa single link 1-2, and are arranged by the traffic volumes thatcorrespond to respective source and destination pairs. In particular,the volume column 101 of FIG. 10 may be expanded to include sourcecolumn 141, destination column 142, and volume column 143. FIG. 14 showsthat for the total volume of traffic transferred across link 1-2 duringtime T, a volume V12 ₁₂ was transferred from Node1 to Node2, a volumeV12 ₁₃ was transferred from Node1 to Node3, and the volume V12 _(XY) wastransferred from NodeX to NodeY.

[0089] This further classification of traffic volume as shown in FIG. 14allows routing decisions for traffic between given destination/sourcepairs to be varied to evaluate alternate configurations. One approach isto modify the volume column using proportional distribution. Forexample, if it were desired to double all volume having Node1 as asource and Node2 as a destination, then all volumes VXY₁₂ would bedoubled for all links (XY) through which such data passes. The addedvolume would thus be distributed, from a routing perspective, in thesame proportions as in the current network configuration. This approachis especially useful for the addition/deletion of load generatingdevices, such as workstations or servers.

[0090] Although this approach may be useful on all network devices tominimize processing, it may be desirable to vary the approach if an ATMor other switch is being modified to create the alternate configuration,as opposed to a router. A switch may recalculate the most optimal (e.g.,least cost) path each time that the combined traffic over a call-path isabove a predetermined threshold. This behavior does not necessarilyfollow a rule of proportional distribution of traffic over differentlinks, and therefore it may be desirable to invoke an adaptive learningmechanism which monitors the switch to determine the load distributionstrategy adopted by the switch. More specifically, this may be achievedby studying the traffic inflow and outflow through a switch and thecorresponding traffic load that is generated on the links attached tothe various switch ports. Such a mechanism may be kept on-line in atraining mode or learning mode of a live network, and could subsequentlybe used in an off-line capacity planning analysis for the same network.In this manner, the switch load distribution characteristics could bemodeled with sufficient accuracy to project the load impact andtherefore determine the source-destination volumes which would beaffected by changing the switch.

[0091] Thus, step 63 in FIG. 6 may include generating alternate volumedata proportionally or based upon the previous performance of a networkdevice.

[0092] The invention may be implemented as a computer apparatus, inhardware, software, or a combination thereof, to perform the functionsof any of the previous embodiments. For example, the invention maycomprise a memory (such as a floppy disk, compact disk, or hard drive)that contains a computer program or data structure, for providing to ageneral purpose computer, instructions and data for carrying out thefunctions of the previous embodiments.

[0093]FIG. 15 shows a general purpose computer 150 which may include aComputer Processing Unit (CPU) 151, memory 152, a processing bus 153 bywhich the CPU can access the memory 152, and access to a network 154.

[0094] Having thus described several particular embodiments of theinvention, various modifications and improvements will be apparent tothose skilled in the art. Accordingly, the foregoing description is byway of example only, and not intended to be limiting.

1. A method for evaluating network traffic on a communications network,the network having a present configuration of nodes connected by aplurality of links, the method comprising the steps of: a) determining atraffic capability for an amount of time for each of the plurality oflinks of the network; b) measuring a traffic volume for the amount oftime across each of the plurality of links; and c) evaluating acommunications capability of the communications network based upon thetraffic capability and the traffic volume.
 2. The method of claim 1 ,wherein step c) includes determining a contribution to an overallbandwidth of the communications network by a first link of the pluralityof links based upon the traffic capability of the first link withrespect to a traffic capability of all of the plurality of links.
 3. Themethod of claim 1 , wherein step c) includes determining a contributionto an overall traffic of the communications network by a first link ofthe plurality of links based upon the traffic volume across the firstlink with respect to a traffic volume of all of the plurality of links.4. The method of claim 3 , wherein step c) further includes determininga contribution to an overall bandwidth of the communications network bythe first link based upon the traffic capability of the first link withrespect to a traffic capability of all of the plurality of links.
 5. Themethod of claim 4 , wherein step c) further includes a step ofevaluating a link balance for the first link based upon a comparisonbetween the contribution to overall bandwidth and the contribution tooverall traffic.
 6. The method of claim 1 , wherein step c) includes astep of evaluating a link balance for a first link of the plurality oflinks based upon a comparison between a contribution to overallbandwidth of the communications network by the first link and acontribution to overall traffic of the communications network by thefirst link.
 7. The method of claim 1 , further comprising a step ofdefining an upper bound and a lower bound of link utilization for afirst link of the plurality of links, and wherein step c) includes astep of evaluating a link utilization of the first link of the pluralityof links with respect to the upper bound and the lower bound, based uponthe traffic volume of the first link.
 8. The method of claim 1 , whereinstep c) includes the steps of: evaluating a link balance for a firstlink of the plurality of links based upon a comparison between acontribution to overall bandwidth of the communications network by thefirst link and a contribution to overall traffic of the communicationsnetwork by the first link; evaluating a link utilization of the firstlink of the plurality of links based upon the traffic volume of thefirst link; and evaluating the communications capability of the linkbased upon a comparison of the link balance with the link utilization.9. The method of claim 1 , wherein step c) includes the steps ofevaluating the communications capability of each of the plurality oflinks; and evaluating the communications capability of thecommunications network based upon the communications capability of eachof the plurality of links.
 10. The method of claim 1 , furthercomprising a step of evaluating a communications capability of analternative configuration of the communications network based upon thetraffic capability and a modified traffic volume.
 11. The method ofclaim 10 , further comprising a step of modifying the configuration ofthe communications network to the alternative configuration. 12.Apparatus for evaluating network traffic on a communications neworkhaving a plurality of links connecting devices, the apparatuscomprising: a database of link traffic information including trafficvolume and link capacity; a capacity control and evaluation moduleconnected to the database for receiving link traffic information fromthe database and determining a traffic capability for an amount of timefor each of the plurality of links, and comparing the traffic volume andtraffic capability of the links to determine a network capacityparameter, and a user interface for displaying the network capacityparameter.